In the field of computational research, events are abstractions which are typically based upon physical phenomena. Researchers may gain access to these events through mathematical, numerical, textual or graphical techniques. Although each of these techniques augments the perspectives brought to bear on an event, each has its advantages and disadvantages when conveying information.
Comprehension of information results from the interplay and juxtaposition of these various techniques. That is, the juxtaposition of graphical, textual and numerical techniques gives the researchers graduated access to their data. It is for this reason that visualization, i.e., the use of visual forms to represent information, has emerged as a desirable environment with which to effectively convey information.
Some general-purpose visualization systems include visual programming interfaces for researchers/users to create their own visualization environments from a library of program modules. A program module is a software-coded process consisting of a sequence of operations that are organized to produce a specified result. The visual programming interfaces contain graphical tools for users to interactively assemble the modules into dataflow networks of communication processes so that the users may visualize their data. That is, an output port of one module may be connected to the input port of another module so that when data flows between the modules, the latter module's operations are performed. A typical network may thus include a series of interconnected module stages that are configured to read data from an image, process that data, e.g., apply a transformation to the data, and then display the data on a computer screen.
Despite their flexiblity towards customizing networks, the general-purpose systems are not well suited for data exploration because they lack essential interactive capabilites. For example, user interaction is typically limited to means for displaying the data without any means for interactively manipulating the data at various stages of the network. As a result, data can only be visualized.
Yet, users often need to explore, rather than merely visualize, their data, particularly for applications involving analysis of empirical data. To fully analyze their data, users typically need to probe the value of individual data elements and apply special procedures to a small region-of-interest, e.g., compute the mean data value of a subset of data elements. Users may also want to visualize relationships between these data elements in several images or volumes which may span several windows of a computer display. The contents of these windows may be manipulated, e.g., moved around and made smaller or larger, and thereafter transferred to other users so that customized "views" of these relationships can be exchanged.
Conventional systems, such as teleradiology systems, provide telecommunication capabilities for users to access images remotely, e.g., at their personal computers, and from a centrally-located computer. With these systems, users can simultaneously view and annotate the images at their respective locations, and then exchange their diagnosis over the telephone. However, these telecommunication systems do not have interactive tools, such as linked cursors, for users to collaboratively annotate the data.
Data probing and cursor linking have traditionally been provided by closed visualization systems with special-purpose program modules that address specific data processing and visualization applications. Because of their "special-purpose" design, these systems have limited capabilities. Specifically, the program modules have limited functionality which cannot be easily and efficiently extended because user interaction is limited by the system's visual programming interface tools. The lack of user interaction precludes integration of the special-purpose modules with open modules of general-purpose visualization systems.
Moreover, maintenance of "state" information relating to the displayed data, e.g., the data types displayed on each window and the sizes of those windows displaying the data types, is a significant issue. Because each independent module of the network may alter the data displayed on the screen, maintaining the state information at a centralized location with a global data structure is complicated and requires significant processing overhead.
Therefore, it is among the objects of the invention to provide enhanced user interaction capabilities that facilitate customizing of users' visualization environments.
Another object of the invention is to provide data visualization and exploration mechanisms for developing tele-collaboration systems.